﻿using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class UDPListener
{
    private const int listenPort = 11000;
    public static int Main()
    {
        bool done = false;
        UdpClient listener = new UdpClient(listenPort);
        // vanaf welke poort hij de data moet halen
        IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, listenPort);
        // ipendpoint om te weten van welke combinatie hij het moet gebruiken
        string received_data;
        byte[] receive_byte_array;
        try
        {
            while (!done)
            {
                Console.WriteLine("Waiting for broadcast");
                receive_byte_array = listener.Receive(ref groupEP);
                // ontvangt de bytes in een group
                Console.WriteLine("Received a broadcast from {0}", groupEP.ToString());
                // schrijft op console van wie hij het heeft ontvangen in een string
                received_data = Encoding.ASCII.GetString(receive_byte_array, 0, receive_byte_array.Length);
                // ontvangt de bytes in een array met de lenght en zet deze array om in een string
                Console.WriteLine("data follows \n{0}\n\n", received_data);
                // zet de data op het scherm
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
        listener.Close();
        return 0;
    }
} // end of class UDPListener